﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Ruandao.MiniAccess
{
    /// <summary>
    /// 
    /// </summary>
    [AttributeUsage(AttributeTargets.Class)]
    public class TableMapAttribute : Attribute
    {
        /// <summary>
        /// 
        /// </summary>
        public TableMapAttribute()
        { }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="tableName"></param>
        public TableMapAttribute(string tableName)
        {
            this.tableName = tableName;
        }

        private string tableName;
        /// <summary>
        /// 获取表名。
        /// </summary>
        public string TableName
        {
            get { return this.tableName; }
        }

        /// <summary>
        /// 获取标识列。值为""表示表中不存在标识列。
        /// </summary>
        public string IdentityColumn { get; set; }

        /// <summary>
        /// 获取插入数据的命令，值为""表示不提供该插入命令。
        /// </summary>
        public string InsertCommand { get; set; }

        /// <summary>
        /// 获取根据主键删除记录的命令，值为""表示不提供该删除命令。
        /// </summary>
        public string DeleteCommand { get; set; }

        /// <summary>
        /// 获取根据任意条件删除记录的命令，值为""表示不提供该条件删除命令。
        /// </summary>
        public string DeleteByConditionsCommand { get; set; }

        /// <summary>
        /// 获取根据主键更新记录的命令，值为""表示不提供该更新命令。
        /// </summary>
        public string UpdateCommand { get; set; }

        /// <summary>
        /// 获取根据主键查找记录的命令，值为""表示不提供该查找命令。
        /// </summary>
        public string FetchCommand { get; set; }

        /// <summary>
        /// 获取根据任意条件查找记录的命令，值为""表示不提供该条件查找命令。
        /// </summary>
        public string SearchCommand { get; set; }

    }
}
